home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / DL4FBI / SCANPAR.BAS < prev    next >
BASIC Source File  |  1997-03-25  |  8KB  |  361 lines

  1. 'SCANPAR.BAS: 1) generation of parameterfile C:\BEACON.PAR
  2. '             2) run BEACONS.EXE, must be in the same file as SCANPAR.EXE
  3. 'all written in POWER BASIC V 3.0 and POWER TOOLS II V.2.0
  4.  
  5.     %mouse=1
  6.     defint a-z
  7.     $include "stdio.h"
  8.     $include "win_man.h"
  9.     $include "diaprof.h"
  10.     $include "diadata.inc"
  11.     cls
  12.  
  13.  
  14. ' Hauptprogramm
  15. ' -------------
  16. ON ERROR GOTO SEARCHFILE
  17.   DIM qra$(18) 'callsigns of beacons
  18.   DIM qth$(18) 'locations of beacons
  19.   DIM qrg$(5)  'frequencies in Hertz as string
  20.   DIM kom$(10) 'commands for transceiver
  21.   shared qra$(),qth$(),qrg$(),kom$()
  22.   open "C:\beacon.par" for input as #1
  23.   for i= 1 to 18
  24.   input#1,qra$(i),qth$(i)
  25.   next i
  26.   for i= 1 to 5
  27.   input#1,qrg$(i)
  28.   next i
  29.   for i = 1 to 10
  30.   input#1,kom$(i)
  31.   next i
  32.   close
  33.     par=0
  34.     CALL PROLOG
  35.      SELECT CASE par
  36.      CASE 0
  37.      SHELL "BEACONS.EXE"
  38.      END
  39.      CASE 1
  40.      CALL QRAQTH
  41.      CALL FREQUENCIES
  42.      CALL RXCMD
  43.      CALL STOREPARAM
  44.      RU=0
  45.      CALL RUNNOW
  46.      END SELECT
  47.      IF RU=1 THEN
  48.      SHELL "BEACONS.EXE"
  49.      END IF
  50.      SYSTEM
  51.  
  52. ' Ende des Hauptprogramms
  53. ' -----------------------
  54.  
  55. 'SUB PROLOG{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
  56. SUB PROLOG    shared
  57.  STATIC row,col
  58.  RESTORE DATAPROLOG
  59.  CALL DIAREAD(row,col)
  60.  CALL DIAPRINT(3,2,"You can modify parameters")
  61.  CALL DIAPRINT(5,2,"  or just run the scan")
  62.  CALL DIASAVE
  63.   DO
  64.    d=dialog
  65.    l=lastkeyx
  66.    IF l=%ESC then EXIT LOOP
  67.    If l=%ENTER THEN
  68.     SELECT CASE d
  69.     CASE 1
  70.     par =1
  71.     EXIT LOOP
  72.     CASE 2
  73.     par=0
  74.     EXIT LOOP
  75.     END SELECT
  76.    END IF
  77.  LOOP
  78. CALL DIACLOSE
  79.  
  80. END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  81.  
  82. 'SUB QRAQTH{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
  83.  
  84. SUB QRAQTH  SHARED
  85.     static row,col
  86.  
  87.  
  88.     RESTORE DATAQRAQTH
  89.     call diaread ( row,col )
  90.  
  91.  
  92.  
  93.    k=0
  94.    for i = 1 to 18
  95.    k=k+1
  96.    call diasval(k,qra$(i))
  97.    k=k+1
  98.    call diasval(k,qth$(i))
  99.    next i
  100.    call diasave
  101.  
  102.    call diaprint(2,40,"   now you can modify")
  103.    call diaprint(3,40,"callsigns and locations")
  104.    call diaprint(5,35,"to store the whole list, hit OK")
  105.  
  106.  
  107.  
  108.     do
  109.        d=dialog
  110.        l=lastkeyx
  111.        if l=%ESC then exit loop
  112.        if l=%ENTER then
  113.           if d=37 then
  114.          exit loop
  115.  
  116.           end if
  117.        end if
  118.     loop
  119.  
  120.  
  121.  
  122.     call diaclose
  123. FOR i = 1 to 18
  124. IF len(qra$(i))<6 THEN qra$(i)=qra$(i)+STRING$(6-len(qra$(i))," ")
  125. IF len(qth$(i))<14 THEN qth$(i)=qth$(i)+STRING$(14-len(qth$(i))," ")
  126. NEXT i
  127.  
  128. END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  129.  
  130. 'SUB FREQUENCIES{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
  131.  
  132. SUB FREQUENCIES SHARED
  133.  
  134.     static row,col
  135.  
  136.  
  137.     RESTORE DATAFREQUENCIES
  138.     call diaread ( row,col )
  139.  
  140.  
  141.  
  142.  
  143.    for i = 1 to 5
  144.  
  145.    call diasval(i,qrg$(i))
  146.  
  147.    next i
  148.    call diasave
  149.  
  150.    call diaprint(2,35,"   now you can modify  ")
  151.    call diaprint(3,35,"the frequencies(integers only)")
  152.    call diaprint(5,35,"to store the whole list, hit OK")
  153.    for j = 2 to 10 step 2
  154.    call diaprint(j,17,"Hz")
  155.    next j
  156.  
  157.  
  158.     do
  159.        d=dialog
  160.        l=lastkeyx
  161.        if l=%ESC then exit loop
  162.        if l=%ENTER then
  163.           if d=6 then
  164.          exit loop
  165.  
  166.           end if
  167.        end if
  168.     loop
  169.  
  170.  
  171.  
  172.     call diaclose
  173. END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  174.  
  175. 'SUB RXCMD{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
  176.  
  177. SUB RXCMD   SHARED
  178.     static row,col
  179.  
  180.  
  181.     RESTORE DATARXCMD
  182.     call diaread ( row,col )
  183.         CALL DIAPRINT(7,25,"You can check/modify RX-Parameters now")
  184.         CALL DIAPRINT(8,25,"to store parameters, hit OK")
  185.  
  186.   p1=val(kom$(1))'serial port
  187.   p2=val(kom$(2))'antenna No.
  188.   SELECT CASE kom$(3)
  189.   CASE "050"
  190.   p3=1           'filterbandwidth
  191.   CASE "100"
  192.   p3=2
  193.   CASE "200"
  194.   p3=3
  195.   CASE "600"
  196.   p3=4
  197.   END SELECT
  198.   p4=val(kom$(4))
  199.   p5=val(kom$(5))
  200. CALL DIANVAL(1,p1):CALL DIANVAL(2,p2):CALL DIANVAL(3,p3):CALL DIANVAL(4,p4)
  201. CALL DIANVAL(5,p5)
  202.  
  203.  
  204.     DO
  205.        d=dialog
  206.        l=lastkeyx
  207.        if l=%ESC then exit loop
  208.        if l=%ENTER then
  209.           if d=6 then
  210.          exit loop
  211.  
  212.           end if
  213.        end if
  214.     LOOP
  215.  
  216.  
  217.     call diaclose
  218.  kom$(1)=LTRIM$(STR$(p1)):kom$(2)=LTRIM$(STR$(p2))
  219.  kom$(4)=LTRIM$(STR$(p4)):kom$(5)=LTRIM$(STR$(p5))
  220.  SELECT CASE p3
  221.  CASE 1
  222.  kom$(3)="050"
  223.  CASE 2
  224.  kom$(3)="100"
  225.  CASE 3
  226.  kom$(3)="200"
  227.  CASE 4
  228.  kom$(4)="600"
  229.  END SELECT
  230.  
  231. END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  232.  
  233.  
  234. 'SUB STOREPARAM{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
  235.  
  236. SUB STOREPARAM     SHARED
  237. OPEN"C:\BEACON.PAR" FOR OUTPUT AS #1
  238.  
  239. FOR i = 1 to 18:WRITE#1,qra$(i),qth$(i):NEXT i
  240. FOR i = 1 to 5: WRITE#1,qrg$(i):NEXT i
  241. FOR i = 1 to 10:WRITE#1,kom$(i):NEXT i
  242.  
  243. END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  244.  
  245. 'SUB RUNNOW'{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
  246. SUB RUNNOW SHARED
  247.      static row,col
  248.      RESTORE DATARUNNOW
  249.      CALL DIAREAD(row,col)
  250.      CALL DIAPRINT (2,2,"store parameters only or scan")
  251.      CALL DIASAVE
  252.       DO
  253.         d=dialog
  254.         l=lastkeyx
  255.         IF l=%ESC THEN EXIT LOOP
  256.         IF l=%ENTER THEN
  257.         SELECT CASE d
  258.         CASE 1
  259.         RU = 0
  260.         EXIT LOOP
  261.         CASE 2
  262.         RU = 1
  263.         EXIT LOOP
  264.         END SELECT
  265.         END IF
  266.      LOOP
  267.      CALL DIACLOSE
  268.  
  269. END SUB'}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
  270.  
  271.  
  272.  
  273. 'Die Daten für den Aufbau des Dialogfensters mit diaread()
  274. '---------------------------------------------------------
  275. DATAPROLOG:
  276.  
  277. DATA 4,6,17,70,"new parameters or run ?",1,30
  278. DATA push, 10,22," check/modify parameters "
  279. DATA push,14,22, "     start of scan       "
  280. DATA""
  281.  
  282.  
  283. DATAQRAQTH :
  284.  
  285.  
  286. data    2,7,22,68," callsign and location of beacons ",1,30
  287. data    inp,     2, 2,"QRA:",2,7,6         '1
  288. data    inp,     2,15,"QTH:",2,20,14       '2
  289. data    inp,     3, 2,"QRA:",3,7,6         '3
  290. data    inp,     3,15,"QTH:",3,20,14       '4
  291. data    inp,     4, 2,"QRA:",4,7,6         '5
  292. data    inp,     4,15,"QTH:",4,20,14       '6
  293. data    inp,     5, 2,"QRA:",5,7,6         '7
  294. data    inp,     5,15,"QTH:",5,20,14       '8
  295. data    inp,     6, 2,"QRA:",6,7,6         '9
  296. data    inp,     6,15,"QTH:",6,20,14       '10
  297. data    inp,     7, 2,"QRA:",7,7,6         '11
  298. data    inp,     7,15,"QTH:",7,20,14       '12
  299. data    inp,     8, 2,"QRA:",8,7,6         '13
  300. data    inp,     8,15,"QTH:",8,20,14       '14
  301. data    inp,     9, 2,"QRA:",9,7,6         '15
  302. data    inp,     9,15,"QTH:",9,20,14       '16
  303. data    inp,     10, 2,"QRA:",10,7,6       '17
  304. data    inp,     10,15,"QTH:",10,20,14     '18
  305. data    inp,     11, 2,"QRA:",11,7,6       '19
  306. data    inp,     11,15,"QTH:",11,20,14     '20
  307. data    inp,     12, 2,"QRA:",12,7,6       '21
  308. data    inp,     12,15,"QTH:",12,20,14     '22
  309. data    inp,     13, 2,"QRA:",13,7,6       '23
  310. data    inp,     13,15,"QTH:",13,20,14     '24
  311. data    inp,     14, 2,"QRA:",14,7,6       '25
  312. data    inp,     14,15,"QTH:",14,20,14     '26
  313. data    inp,     15, 2,"QRA:",15,7,6       '27
  314. data    inp,     15,15,"QTH:",15,20,14     '28
  315. data    inp,     16, 2,"QRA:",16,7,6       '29
  316. data    inp,     16,15,"QTH:",16,20,14     '30
  317. data    inp,     17, 2,"QRA:",17,7,6       '31
  318. data    inp,     17,15,"QTH:",17,20,14     '32
  319. data    inp,     18, 2,"QRA:",18,7,6       '33
  320. data    inp,     18,15,"QTH:",18,20,14     '34
  321. data    inp,     19, 2,"QRA:",19,7,6       '35
  322. data    inp,     19,15,"QTH:",19,20,14     '36
  323. data  push,  8,47," OK "               '37
  324. data    ""
  325.  
  326. DATAFREQUENCIES:
  327.  
  328. data 2,7,15,68,"frequencies of the beacons",1,30
  329. data inp, 2,2,"QRG1",2,8,8 '1
  330. data inp, 4,2,"QRG2",4,8,8 '2
  331. data inp, 6,2,"QRG3",6,8,8 '3
  332. data inp, 8,2,"QRG4",8,8,8 '4
  333. data inp,10,2,"QRG5",10,8,8 '5
  334. data push,  8,47," OK "    '6
  335. data ""
  336.  
  337. DATARXCMD:
  338.  
  339. data 2,7,18,68,"transceiver settings",1,30
  340. data radio ,1,2,"serial port",2,2,"COM1:COM2:SIM"  '1
  341. data radio ,6,2,"antenna",7,2,"No.1:No.2"      '2
  342. data radio ,1,23,"filterbandwidth",2,23,"050Hz:100Hz:200Hz:600Hz"'3
  343. data check ,1,45,"output",2,45,"screen only:hardcopy:ASCII-file" '4
  344. data radio ,10,2,"time-synchronization",11,3,"DCF77-Time:own method:phone or radio"'5
  345. data push  ,11,40," OK " '6
  346. data""
  347.  
  348. DATARUNNOW:
  349.  
  350. data   5,6,17,70,"SAVE PARAMETERS AND RUN SCAN",1,30
  351. data   push,5,2,"SAVE ONLY"      '1
  352. data   push,5,40,"SAVE AND SCAN" '2
  353. data   ""
  354.  
  355. END
  356.  
  357. SEARCHFILE:
  358.   IF err=53 THEN
  359.   SHELL "COPY A:\BEACON.PAR C:\"
  360.   RUN
  361.   END IF